<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<meta name="generator" content="JsDoc Toolkit" />
		
		<title>JsDoc Reference - JSV</title>

		<style type="text/css">
			/* default.css */
body
{
	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
	width: 800px;
}

.header
{
	clear: both;
	background-color: #ccc;
	padding: 8px;
}

h1
{
	font-size: 150%;
	font-weight: bold;
	padding: 0;
	margin: 1em 0 0 .3em;
}

hr
{
	border: none 0;
	border-top: 1px solid #7F8FB1;
	height: 1px;
}

pre.code
{
	display: block;
	padding: 8px;
	border: 1px dashed #ccc;
}

#index
{
	margin-top: 24px;
	float: left;
	width: 160px;
	position: absolute;
	left: 8px;
	background-color: #F3F3F3;
	padding: 8px;
}

#content
{
	margin-left: 190px;
	width: 600px;
}

.classList
{
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 8px;
	font-family: arial, sans-serif;
	font-size: 1em;
	overflow: auto;
}

.classList li
{
	padding: 0;
	margin: 0 0 8px 0;
}

.summaryTable { width: 100%; }

h1.classTitle
{
	font-size:170%;
	line-height:130%;
}

h2 { font-size: 110%; }
caption, div.sectionTitle
{
	background-color: #7F8FB1;
	color: #fff;
	font-size:130%;
	text-align: left;
	padding: 2px 6px 2px 6px;
	border: 1px #7F8FB1 solid;
}

div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }

.summaryTable td
{
	vertical-align: top;
	padding: 4px;
	border-bottom: 1px #7F8FB1 solid;
	border-right: 1px #7F8FB1 solid;
}

/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
	border-left: 1px #7F8FB1 solid;
	width: 140px;
	text-align: right;
}

td.attributes, .fixedFont
{
	line-height: 15px;
	color: #002EBE;
	font-family: "Courier New",Courier,monospace;
	font-size: 13px;
}

.summaryTable td.nameDescription
{
	text-align: left;
	font-size: 13px;
	line-height: 15px;
}

.summaryTable td.nameDescription, .description
{
	line-height: 15px;
	padding: 4px;
	padding-left: 4px;
}

.summaryTable { margin-bottom: 8px; }

ul.inheritsList
{
	list-style: square;
	margin-left: 20px;
	padding-left: 0;
}

.detailList {
	margin-left: 20px; 
	line-height: 15px;
}
.detailList dt { margin-left: 20px; }

.detailList .heading
{
	font-weight: bold;
	padding-bottom: 6px;
	margin-left: 0;
}

.light, td.attributes, .light a:link, .light a:visited
{
	color: #777;
	font-style: italic;
}

.fineprint
{
	text-align: right;
	font-size: 10px;
}
		</style>
	</head>

	<body>
<!-- ============================== header ================================= -->	
		<!-- begin static/header.html -->
		<div id="header">
</div>
		<!-- end static/header.html -->

<!-- ============================== classes index ============================ -->
		<div id="index">
			<!-- begin publish.classesIndex -->
			<div align="center"><a href="../index.html">Class Index</a>
| <a href="../files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
	
	<li><a href="../symbols/Environment.html">Environment</a></li>
	
	<li><a href="../symbols/JSONInstance.html">JSONInstance</a></li>
	
	<li><a href="../symbols/JSONSchema.html">JSONSchema</a></li>
	
	<li><a href="../symbols/JSV.html">JSV</a></li>
	
	<li><a href="../symbols/Report.html">Report</a></li>
	
	<li><a href="../symbols/ValidationError.html">ValidationError</a></li>
	
</ul>
<hr />
			<!-- end publish.classesIndex -->
		</div>
		
		<div id="content">
<!-- ============================== class title ============================ -->
			<h1 class="classTitle">
				
				Namespace JSV
			</h1>

<!-- ============================== class summary ========================== -->			
			<p class="description">
				
				
			
				
				
				
					<br /><i>Defined in: </i> <a href="../symbols/src/jsv.js.html">jsv.js</a>.
				
			</p>

<!-- ============================== constructor summary ==================== -->			
			
			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class JSV.">
				<caption>Namespace Summary</caption>
				<thead>
					<tr>
						<th scope="col">Constructor Attributes</th>
						<th scope="col">Constructor Name and Description</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td class="attributes">&nbsp;</td>
						<td class="nameDescription" >
							<div class="fixedFont">
								<b><a href="../symbols/JSV.html#constructor">JSV</a></b>
							</div>
							<div class="description">A globaly accessible object that provides the ability to create and manage Environments,as well as providing utility methods.</div>
						</td>
					</tr>
				</tbody>
			</table>
			

<!-- ============================== properties summary ===================== -->
			

<!-- ============================== methods summary ======================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class JSV.">
					<caption>Method Summary</caption>
					<thead>
						<tr>
							<th scope="col">Method Attributes</th>
							<th scope="col">Method Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.createEnvironment">createEnvironment</a></b>(id)
								</div>
								<div class="description">Creates and returns a new <a href="../symbols/Environment.html">Environment</a> that is a clone of the environment registered with the provided ID.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.getDefaultEnvironmentID">getDefaultEnvironmentID</a></b>()
								</div>
								<div class="description">Returns the ID of the default environment.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.isJSONInstance">isJSONInstance</a></b>(o)
								</div>
								<div class="description">Returns if the provide value is an instance of <a href="../symbols/JSONInstance.html">JSONInstance</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.isJSONSchema">isJSONSchema</a></b>(o)
								</div>
								<div class="description">Returns if the provide value is an instance of <a href="../symbols/JSONSchema.html">JSONSchema</a>.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.registerEnvironment">registerEnvironment</a></b>(id, env)
								</div>
								<div class="description">Registers the provided <a href="../symbols/Environment.html">Environment</a> with the provided ID.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.setDefaultEnvironmentID">setDefaultEnvironmentID</a></b>(id)
								</div>
								<div class="description">Sets which registered ID is the default environment.</div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			
<!-- ============================== events summary ======================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the utility methods documented in the class JSV.">
					<caption>Utility Method Summary</caption>
					<thead>
						<tr>
							<th scope="col">Utility Method Attributes</th>
							<th scope="col">Utility Method Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:clone">clone</a></b>(o, deep)
								</div>
								<div class="description">Creates a copy of the target object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:createObject">createObject</a></b>(proto)
								</div>
								<div class="description">Return a new object that inherits all of the properties of the provided object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:escapeURIComponent">escapeURIComponent</a></b>(str)
								</div>
								<div class="description">Properly escapes a URI component for embedding into a URI string.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:filterArray">filterArray</a></b>(arr, iterator, scope)
								</div>
								<div class="description">Returns a new array that only contains the items allowed by the iterator.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:formatURI">formatURI</a></b>(uri)
								</div>
								<div class="description">Returns a URI that is formated for JSV.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:inherits">inherits</a></b>(base, extra, extension)
								</div>
								<div class="description">Merges two schemas/instance together.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:keys">keys</a></b>(o)
								</div>
								<div class="description">Returns an array of the names of all properties of an object.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:mapArray">mapArray</a></b>(arr, iterator, scope)
								</div>
								<div class="description">Returns a new array with each item transformed by the iterator.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:mapObject">mapObject</a></b>(obj, iterator, scope)
								</div>
								<div class="description">Returns a new object with each property transformed by the iterator.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:pushUnique">pushUnique</a></b>(arr, o)
								</div>
								<div class="description">Mutates the array by pushing the provided value onto the array only if it is not already there.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:randomUUID">randomUUID</a></b>()
								</div>
								<div class="description">Generates a pseudo-random UUID.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:searchArray">searchArray</a></b>(arr, o)
								</div>
								<div class="description">Returns the first index in the array that the provided item is located at.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:toArray">toArray</a></b>(o)
								</div>
								<div class="description">Returns an array representation of a value.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">JSV.<b><a href="../symbols/JSV.html#.event:typeOf">typeOf</a></b>(o)
								</div>
								<div class="description">Returns the name of the type of the provided value.</div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			

<!-- ============================== constructor details ==================== -->		
			
			<div class="details"><a name="constructor"> </a>
				<div class="sectionTitle">
					Namespace Detail
				</div>
				
				<div class="fixedFont">
						<b>JSV</b>
				</div>
				
				<div class="description">
					A globaly accessible object that provides the ability to create and manage Environments,as well as providing utility methods.
					
				</div>
				
				
				
				
					
					
					
					
					
					
					

			</div>
			

<!-- ============================== field details ========================== -->		
			

<!-- ============================== method details ========================= -->		
			
				<div class="sectionTitle">
					Method Detail
				</div>
				
					<a name=".createEnvironment"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{<a href="../symbols/Environment.html">Environment</a>}</span>
					<span class="light">JSV.</span><b>createEnvironment</b>(id)
					
					</div>
					<div class="description">
						Creates and returns a new <a href="../symbols/Environment.html">Environment</a> that is a clone of the environment registered with the provided ID.If no environment ID is provided, the default environment is cloned.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>id</b>
									<i>Optional</i>
								</dt>
								<dd>The ID of the environment to clone. If <code>undefined</code>, the default environment ID is used.</dd>
							
							</dl>
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Throws:</dt>
							
								<dt>
									<span class="light fixedFont">{Error}</span>  <b></b>
								</dt>
								<dd>If there is no environment registered with the provided ID</dd>
							
							</dl>
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{<a href="../symbols/Environment.html">Environment</a>}</span> A newly cloned <a href="../symbols/Environment.html">Environment</a></dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getDefaultEnvironmentID"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">JSV.</span><b>getDefaultEnvironmentID</b>()
					
					</div>
					<div class="description">
						Returns the ID of the default environment.
						
						
					</div>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> The ID of the default environment</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".isJSONInstance"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Boolean}</span>
					<span class="light">JSV.</span><b>isJSONInstance</b>(o)
					
					</div>
					<div class="description">
						Returns if the provide value is an instance of <a href="../symbols/JSONInstance.html">JSONInstance</a>.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<b>o</b>
									
								</dt>
								<dd>The value to test</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Boolean}</span> If the provide value is an instance of <a href="../symbols/JSONInstance.html">JSONInstance</a></dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".isJSONSchema"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Boolean}</span>
					<span class="light">JSV.</span><b>isJSONSchema</b>(o)
					
					</div>
					<div class="description">
						Returns if the provide value is an instance of <a href="../symbols/JSONSchema.html">JSONSchema</a>.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<b>o</b>
									
								</dt>
								<dd>The value to test</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Boolean}</span> If the provide value is an instance of <a href="../symbols/JSONSchema.html">JSONSchema</a></dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".registerEnvironment"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">JSV.</span><b>registerEnvironment</b>(id, env)
					
					</div>
					<div class="description">
						Registers the provided <a href="../symbols/Environment.html">Environment</a> with the provided ID.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>id</b>
									
								</dt>
								<dd>The ID of the environment</dd>
							
								<dt>
									<span class="light fixedFont">{<a href="../symbols/Environment.html">Environment</a>}</span> <b>env</b>
									
								</dt>
								<dd>The environment to register</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name=".setDefaultEnvironmentID"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">JSV.</span><b>setDefaultEnvironmentID</b>(id)
					
					</div>
					<div class="description">
						Sets which registered ID is the default environment.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>id</b>
									
								</dt>
								<dd>The ID of the registered environment that is default</dd>
							
							</dl>
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Throws:</dt>
							
								<dt>
									<span class="light fixedFont">{Error}</span>  <b></b>
								</dt>
								<dd>If there is no registered environment with the provided ID</dd>
							
							</dl>
						
						
						
						

					
				
			
			
<!-- ============================== event details ========================= -->		
			
				<div class="sectionTitle">
					Utility Method Detail
				</div>
				
					<a name=".event:clone"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">JSV.</span><b>clone</b>(o, deep)
					
					</div>
					<div class="description">
						Creates a copy of the target object.<p>This method will create a new instance of the target, and then mixin the properties of the target.If <code>deep</code> is <code>true</code>, then each property will be cloned before mixin.</p><p><b>Warning</b>: This is not a generic clone function, as it will only properly clone objects and arrays.</p>
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Any}</span> <b>o</b>
									
								</dt>
								<dd>The value to clone</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>deep</b>
									<i>Optional, Default: false</i>
								</dt>
								<dd>If each property should be recursively cloned</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd>A cloned copy of the provided value</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:createObject"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Object}</span>
					<span class="light">JSV.</span><b>createObject</b>(proto)
					
					</div>
					<div class="description">
						Return a new object that inherits all of the properties of the provided object.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>proto</b>
									
								</dt>
								<dd>The prototype of the new object</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> A new object that inherits all of the properties of the provided object</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:escapeURIComponent"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">JSV.</span><b>escapeURIComponent</b>(str)
					
					</div>
					<div class="description">
						Properly escapes a URI component for embedding into a URI string.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>str</b>
									
								</dt>
								<dd>The URI component to escape</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> The escaped URI component</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:filterArray"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Array}</span>
					<span class="light">JSV.</span><b>filterArray</b>(arr, iterator, scope)
					
					</div>
					<div class="description">
						Returns a new array that only contains the items allowed by the iterator.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>arr</b>
									
								</dt>
								<dd>The array to filter</dd>
							
								<dt>
									<span class="light fixedFont">{Function}</span> <b>iterator</b>
									
								</dt>
								<dd>The function that returns true if the provided property should be added to the array</dd>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>scope</b>
									
								</dt>
								<dd>The value of <code>this</code> within the iterator</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> A new array that contains the items allowed by the iterator</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:formatURI"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">JSV.</span><b>formatURI</b>(uri)
					
					</div>
					<div class="description">
						Returns a URI that is formated for JSV. Currently, this only ensures that the URI ends with a hash tag (<code>#</code>).
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>uri</b>
									
								</dt>
								<dd>The URI to format</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> The URI formatted for JSV</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:inherits"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Any}</span>
					<span class="light">JSV.</span><b>inherits</b>(base, extra, extension)
					
					</div>
					<div class="description">
						Merges two schemas/instance together.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{<a href="../symbols/JSONSchema.html">JSONSchema</a>|Any}</span> <b>base</b>
									
								</dt>
								<dd>The old value to merge</dd>
							
								<dt>
									<span class="light fixedFont">{<a href="../symbols/JSONSchema.html">JSONSchema</a>|Any}</span> <b>extra</b>
									
								</dt>
								<dd>The new value to merge</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>extension</b>
									
								</dt>
								<dd>If the merge is a JSON Schema extension</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Any}</span> The modified base value</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:keys"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Array}</span>
					<span class="light">JSV.</span><b>keys</b>(o)
					
					</div>
					<div class="description">
						Returns an array of the names of all properties of an object.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Object|Array}</span> <b>o</b>
									
								</dt>
								<dd>The object in question</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> The names of all properties</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:mapArray"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Array}</span>
					<span class="light">JSV.</span><b>mapArray</b>(arr, iterator, scope)
					
					</div>
					<div class="description">
						Returns a new array with each item transformed by the iterator.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>arr</b>
									
								</dt>
								<dd>The array to transform</dd>
							
								<dt>
									<span class="light fixedFont">{Function}</span> <b>iterator</b>
									
								</dt>
								<dd>A function that returns the new value of the provided item</dd>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>scope</b>
									
								</dt>
								<dd>The value of <code>this</code> in the iterator</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> A new array with each item transformed</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:mapObject"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Object}</span>
					<span class="light">JSV.</span><b>mapObject</b>(obj, iterator, scope)
					
					</div>
					<div class="description">
						Returns a new object with each property transformed by the iterator.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>obj</b>
									
								</dt>
								<dd>The object to transform</dd>
							
								<dt>
									<span class="light fixedFont">{Function}</span> <b>iterator</b>
									
								</dt>
								<dd>A function that returns the new value of the provided property</dd>
							
								<dt>
									<span class="light fixedFont">{Object}</span> <b>scope</b>
									<i>Optional</i>
								</dt>
								<dd>The value of <code>this</code> in the iterator</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> A new object with each property transformed</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:pushUnique"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Array}</span>
					<span class="light">JSV.</span><b>pushUnique</b>(arr, o)
					
					</div>
					<div class="description">
						Mutates the array by pushing the provided value onto the array only if it is not already there.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>arr</b>
									
								</dt>
								<dd>The array to modify</dd>
							
								<dt>
									<span class="light fixedFont">{Any}</span> <b>o</b>
									
								</dt>
								<dd>The object to add to the array if it is not already there</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> The provided array for chaining</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:randomUUID"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">JSV.</span><b>randomUUID</b>()
					
					</div>
					<div class="description">
						Generates a pseudo-random UUID.
						
						
					</div>
					
					
					
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> A new universally unique ID</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:searchArray"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Number}</span>
					<span class="light">JSV.</span><b>searchArray</b>(arr, o)
					
					</div>
					<div class="description">
						Returns the first index in the array that the provided item is located at.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Array}</span> <b>arr</b>
									
								</dt>
								<dd>The array to search</dd>
							
								<dt>
									<span class="light fixedFont">{Any}</span> <b>o</b>
									
								</dt>
								<dd>The item being searched for</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> The index of the item in the array, or <code>-1</code> if not found</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:toArray"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Array}</span>
					<span class="light">JSV.</span><b>toArray</b>(o)
					
					</div>
					<div class="description">
						Returns an array representation of a value.<ul><li>For array-like objects, the value will be casted as an Array type.</li><li>If an array is provided, the function will simply return the same array.</li><li>For a null or undefined value, the result will be an empty Array.</li><li>For all other values, the value will be the first element in a new Array. </li></ul>
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Any}</span> <b>o</b>
									
								</dt>
								<dd>The value to convert into an array</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Array}</span> The value as an array</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".event:typeOf"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{String}</span>
					<span class="light">JSV.</span><b>typeOf</b>(o)
					
					</div>
					<div class="description">
						Returns the name of the type of the provided value.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{Any}</span> <b>o</b>
									
								</dt>
								<dd>The value to determine the type of</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{String}</span> The name of the type of the value</dd>
							
							</dl>
						
						
						

					
				
			
			
			<hr />
		</div>

		
<!-- ============================== footer ================================= -->
		<div class="fineprint" style="clear:both">
			
			Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.4.0 on Mon Nov 15 2010 19:26:00 GMT-0700 (MST)
		</div>
	</body>
</html>
